Greetings! A great many people have asked about how to create a Windows 3.1 screen saver in VB. It's actually not so tough. There are only a few things you need to know. First, screen savers are really just EXEs that have been renamed. Second, when these EXEs are run, the are called with command line arguments based on what operation is needed. If the screen is to be saved, the "-s" parameter is passed on the command line (retrievable via COMMAND$). If the screen saver is to be configured, a "-c" is passed on the command line. Therefore, your "Startup Form" should be Sub Main in a module rather than a form. From within this routine, you check Command$ and .Show either the save form or the config form. The config form should have some way of saving configuration info like a private INI file (I don't believe in adding things to the WIN.INI that don't represent system information but that's just me). The "save" form should be created without the title bar, the control box, without a border and without the Min/Max buttons. When launched, it should maximize to take up the whole screen. You can then draw all over it in any way you wish. The _KeyDown, _MouseMove and _MouseDown events should all have the END statment in them. The final tidbit is that you need to specially name the EXE in the "Make EXE" dialog. The name must be in the form SCRNSAVE SaverName where SaverName is the name you want to have appear in the control panel. After you create the EXE, you rename it to .SCR and copy it to the Windows directory and you're done. That's all there is to it. I have uploaded the file SSAVE.ZIP to Lib 1 which contains a sample. -=- Jonathan